🎯 CONCEITOS MAIS IMPORTANTES PARA PROVA:
- Hardening: princípio da menor funcionalidade, remover serviços desnecessários
- WPA3: SAE substitui PSK, Perfect Forward Secrecy
- 802.1X: Autenticação por porta (RADIUS + EAP)
- SAST vs DAST: SAST analisa código (white box), DAST testa app rodando (black box)
- Code Signing: garante autenticidade, NÃO garante segurança do código
1️⃣ Hardening de Sistemas Operacionais
Conceitos Fundamentais
- Hardening: processo de modificar SOs/aplicações para operarem de forma segura
- Baseia-se no princípio da menor funcionalidade (least functionality)
- Utiliza baselines de melhores práticas para configuração segura
Áreas de Hardening
🔌 Interfaces e Portas
- Desabilitar interfaces de rede não utilizadas
- Desabilitar serviços desnecessários
- Bloquear portas não utilizadas
💾 Armazenamento
- Full Disk Encryption (BitLocker, FileVault)
- Criptografia de mídia removível
- VPNs para transmissão de dados
Gerenciamento de Patches
- Scanners automatizados de vulnerabilidades
- Testes em ambientes de teste antes da produção
- Ferramentas: Windows Update, SCCM/Endpoint Manager
- Controles compensatórios para sistemas legados
Técnicas de Hardening
- Controles de Acesso (ACLs): gerenciar permissões de usuários e grupos
- Princípio do Menor Privilégio: conceder apenas permissões mínimas
- Allow Lists e Block Lists: controlar execução de aplicações
- Monitoramento: detectar mudanças nas configurações hardened
- Descomissionamento: apagar dados com segurança
- Mudança de Defaults: alterar senhas padrão, remover software desnecessário
2️⃣ Segurança de Sistema de Arquivos
Permissões Linux vs Windows
| Linux |
Windows |
| Read (r), Write (w), Execute (x) |
Permissões Share (acesso via rede) |
| Contextos: owner (u), group (g), others (o) |
Permissões NTFS (locais e rede, granulares) |
| chmod 755 = rwxr-xr-x |
Permissões efetivas = mais restritiva entre Share e NTFS |
# Linux - Exemplos de chmod
chmod 755 arquivo # rwxr-xr-x
chmod u+x arquivo # adiciona execute para owner
chmod g-w arquivo # remove write do grupo
Protocolos de Transferência Segura
| Protocolo |
Descrição |
| FTP |
Não seguro (cleartext), usar com IPSec ou VPN |
| TFTP |
Sem autenticação ou criptografia |
| SCP |
Usa SSH1 para transferências seguras |
| SFTP |
Usa SSH2 (NÃO é FTP sobre SSH) |
| FTPS |
FTP com SSL/TLS |
3️⃣ Segurança de Host Linux
Proteção de Portas Físicas
- Desabilitar portas USB, HDMI, serial não utilizadas
- Software de controle de portas (baseado em identificadores)
- Configurações de firmware/UEFI/BIOS
- Ameaças: BadUSB, O.MG cable (keyloggers em cabos)
- Prevenir autorun em dispositivos USB
- Sistemas sheep dip (sandboxed) para testar dispositivos suspeitos
Hardening de Sistema Linux
📦 Remover Software
yum list installed
apt list --installed
yum erase pacote
apt remove pacote
🔍 Serviços Ativos
systemctl --type=service --state=active
systemctl disable servicename
systemctl stop servicename
iptables (Firewall Linux)
Cadeias (Chains):
- Input: Conexões entrantes
- Forward: Pacotes atravessando o sistema
- Output: Conexões saindo
Ações:
- Accept: Permite conexão
- Drop: Descarta sem resposta
- Reject: Rejeita com resposta
sudo iptables -L # Listar regras
sudo iptables -F # Limpar regras
sudo iptables -A INPUT -s 192.168.0.254 -j DROP # Bloquear IP
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # Permitir HTTP
4️⃣ Segurança Wireless
Padrões de Segurança Wi-Fi
| Padrão |
Características |
| WPA1 |
RC4 com TKIP (substituiu WEP), vulnerável |
| WPA2 |
AES com CCMP (128-bit). Personal (PSK) e Enterprise (RADIUS). Vulnerável ao ataque de 4-way handshake |
| WPA3 |
SAE substitui PSK, Enhanced Open, AES GCMP, Perfect Forward Secrecy, Wi-Fi Easy Connect (QR code) |
⚠️ WPS (Wi-Fi Protected Setup): Vulnerável a ataques de força bruta. DESABILITAR!
Métodos de Autenticação
🔑 Personal
- PSK: Passphrase de 8-63 caracteres
- SAE (WPA3): Password-Authenticated Key Exchange
🏢 Enterprise (802.1X)
- RADIUS + EAP
- PEAP: EAP em túnel SSL/TLS
- EAP-TLS: mais seguro (certificados cliente/servidor)
- EAP-TTLS: requer apenas certificado servidor
5️⃣ Ataques Wireless
Principais Ataques
| Ataque |
Descrição |
| Evil Twin |
Rogue AP imitando rede legítima, usa jamming/deauth para forçar reconexão |
| KRACK |
Ataque ao 4-way handshake WPA/WPA2. Manter clientes/APs atualizados |
| Deauth/Disassociation |
Exploita frames de gerenciamento não criptografados, desconecta usuários |
| IV Attack |
WEP reutiliza IVs (24-bit), quebrado em minutos - NÃO USAR WEP |
| Jamming |
Interferência em frequências de rádio (spark, random noise, random pulse) |
| Rogue AP |
AP instalado sem autorização, cria backdoor. Detecção: WIPS, analisadores Wi-Fi |
Ataques Bluetooth
- Bluejacking: envio de mensagens indesejadas (incômodo)
- Bluesnarfing: exploita OBEX, acessa calendário, emails, contatos
- Mitigação: habilitar Bluetooth apenas quando necessário, desabilitar modo discovery
6️⃣ Métodos de Autenticação e Acesso
802.1X (Port-based Network Access Control)
- Supplicant: dispositivo solicitando acesso
- Authenticator: switch/AP (cliente RADIUS)
- Authentication Server: servidor RADIUS
Funcionamento:
- Host conecta a porta 802.1X
- Switch abre porta apenas para EAPoL
- Switch recebe EAP com credenciais (criptografadas)
- Switch encapsula em RADIUS e envia ao servidor
- Servidor valida credenciais
- Se sucesso, servidor envia Access-Accept
- Switch libera acesso completo à rede
Air-Gapped
- Host ou rede fisicamente isolada (sem conexão cabeada ou wireless)
- Exemplos: CA raiz PKI, análise de malware
- Desafios: administração local, atualizações via USB (vetor de ataque)
7️⃣ Protocolos Seguros
SSH (Secure Shell)
- Administração remota via linha de comando
- Transferência segura de arquivos (SFTP)
- Host Key: identifica servidor SSH (mudar se comprometido)
ssh bobby@10.1.0.10 # Conectar
ssh-keygen -t rsa # Gerar par de chaves
ssh-copy-id bobby@10.1.0.10 # Copiar chave pública
scp bobby@10.1.0.10:/logs/audit.log . # Copiar arquivo
HTTPS vs S-HTTP
| HTTPS |
S-HTTP |
| HTTP + SSL/TLS |
Alternativa não amplamente usada |
| Criptografa dados sensíveis |
Menos seguro que HTTPS |
| Porta 443, stateful |
Connectionless |
| Ícone de cadeado no navegador |
Apenas segurança de mensagem |
8️⃣ IPsec e VPNs
Protocolos IPsec
🔐 AH (Authentication Header)
- Hash criptográfico em todo pacote + chave secreta
- ICV (Integrity Check Value) no header
- NÃO fornece confidencialidade (payload não criptografado)
🔒 ESP (Encapsulating Security Payload)
- Criptografa o pacote
- Header, Trailer, ICV
- ICV exclui IP header
Modos de Operação
- Transport Mode: comunicações entre hosts em rede privada. ESP: IP header não criptografado
- Tunnel Mode: comunicações VPN entre sites. Todo pacote IP criptografado e encapsulado
IKE (Internet Key Exchange)
- Phase I: estabelece identidade, Diffie-Hellman, canal seguro
- Phase II: estabelece cifras para AH/ESP
- IKEv2: suporta EAP (RADIUS), NAT traversal, MOBIKE
9️⃣ Ataques a Aplicações Web
Tipos de Ataques
| Ataque |
Descrição |
| Buffer Overflow |
Mais dados que o buffer suporta, acesso a áreas de memória desprotegidas |
| Race Condition (TOCTTOU) |
Time-Of-Check to Time-Of-Use, atacante age entre check e use |
| Memory Leak |
Memória alocada não liberada, causa DoS |
| Replay Attack |
Tráfego interceptado e retransmitido. Mitigação: timestamps, nonces |
| Pass the Hash |
Usa hash para acessar outras workstations. Mitigação: desabilitar RDP, contas separadas |
| SSL Stripping |
Remove segurança de sites HTTPS. Mitigação: HSTS preload |
Improper Input Handling
Falta de validação, sanitização, filtragem pode levar a:
- Buffer overflows, XSS, Directory traversal, SQL injection
- NULL byte injections, OS commanding, DoS
- Mitigação: definir parâmetros, validar, sanitizar
🔟 SDLC e Desenvolvimento Seguro
Modelos de Desenvolvimento
💧 Waterfall (Cascata)
- Requirements → Design → Implementation → Testing → Deployment → Maintenance
- Cada etapa completa antes da próxima
- Processo lento, pouca flexibilidade
🔄 Agile (Ágil)
- Sprints de 2-3 semanas
- Desenvolvimento contínuo e mutável
- Testes durante todo ciclo
Métodos de Testes de Segurança
| Método |
Características |
| SAST |
White box, analisa código fonte, início do processo, identifica causa exata, alto falso positivo |
| DAST |
Black box, escaneia app em execução, não específico de linguagem, menos falso positivo |
| IAST |
Interativo, combina SAST e DAST, identifica linha de código problemática em runtime |
| Fuzz Testing |
Fornece dados inválidos/aleatórios aos inputs (mutation-based, generation-based) |
Sandboxing
- Isola processos em execução
- Exemplos: Chrome (abas separadas), iOS/Android (apps isolados), Docker (containers)
1️⃣1️⃣ Codificação Segura
Técnicas
📦 Code Reuse
Reutilizar código testado, mas testar comprehensivamente antes de permitir
💀 Dead Code
Código não executado ou obsoleto - REMOVER! Se não existe, não pode ser explorado
🕵️ Code Obfuscation
Criar código difícil de entender, prevenir engenharia reversa (não é segurança forte)
📝 Stored Procedures
Instruções SQL armazenadas, limitam ataques de injection
Secure Cookies
- Secure: enviado apenas sobre HTTPS
- HttpOnly: previne acesso via JavaScript (XSS)
- SameSite: limita envio cross-site (CSRF)
- Expiration: limites de tempo de vida
Code Signing
⚠️ IMPORTANTE: Code signing NÃO garante segurança do código! Apenas certifica origem e integridade.
- Signer usa chave privada para criptografar hash do código
- Requer certificado de CA confiável
- Código assinado ainda pode conter bugs ou código malicioso
1️⃣2️⃣ Hardening de Aplicações
Diretrizes Básicas
- Assumir que todas aplicações instaladas têm falhas
- Remover aplicações não utilizadas do sistema
- Limitar privilégios administrativos
- Instalar software de segurança (antivírus, anti-spyware)
- Restringir acesso à aplicação (apenas quem precisa)
- Atualizar com patches mais recentes
Técnicas Específicas
- Block Process Spawning: prevenir criação de processos filhos
- Control Access to Executable Files: remover permissões de Write
- Protect OS Components: proteger Registry, áreas sensíveis
- Use Exception Rules: contornar hardening quando necessário (com cautela)
- DEP (Data Execution Prevention): previne execução em áreas de memória usadas para dados
- AppArmor: hardening específico para Linux
Validação de Entrada
- Client-Side: identifica erros antes do envio, mas pode ser contornada
- Server-Side: ESSENCIAL, atacantes podem enviar dados fora da interface padrão
💡 DICAS FINAIS PARA PROVA:
- Hardening: menor funcionalidade, remover serviços, desabilitar portas
- WPA3 > WPA2 > WPA > WEP (SAE, Perfect Forward Secrecy)
- 802.1X: Supplicant → Authenticator → Authentication Server (RADIUS)
- SAST: white box, código | DAST: black box, app rodando
- Code Signing: autenticidade, NÃO segurança
- Secure Cookies: Secure (HTTPS), HttpOnly (XSS), SameSite (CSRF)
- IPsec: AH (autenticação), ESP (criptografia)
- FTP inseguro, usar SFTP/FTPS
- Deauth Attack: frames de gerenciamento não criptografados
- Pass the Hash: usar hash para acessar outras máquinas